Skip to content

fix: preserve Step thinking effort preferences - #192

Merged
ZouR-Ma merged 2 commits into
mainfrom
fix/respect-step-thinking-preferences
Sep 28, 2026
Merged

ZouR-Ma merged 2 commits into
mainfrom
fix/respect-step-thinking-preferences

Conversation

@MelodyVAR

Copy link
Copy Markdown
Collaborator

Step's startup and model-selection hooks always reselected the highest supported thinking effort after the session had already applied CLI and saved preferences. For models supporting low/medium/high, both step --thinking medium and a saved medium default were overwritten with high.

Keep the session-resolved effort when enriching model capabilities, clamp only unsupported choices, and ignore late discovery results for a model that is no longer active. The thinking selector now marks the effective saved default using per-model/global precedence and capability clamping.

With no configured preference, Step follows the SDK default (medium, clamped to model capabilities). Enter and /effort medium remain session-scoped; Ctrl+S still saves a default.

Validation:

  • 99 coding-agent tests passed, including startup, disk-persisted defaults, model selection, pending-discovery user changes, and stale-model discovery.
  • 18 CLI tests passed, including the default marker.
  • pnpm run build:offline passed.
  • All checks from pnpm run check passed, with Biome run without --write.

MelodyVAR and others added 2 commits September 24, 2026 22:37
…ffort

Review follow-up on the previous commit.

The stale-discovery guard compared model objects by reference, while the
session emits model_select through modelsAreEqual. When a provider is
registered or unregistered, _refreshCurrentModelFromRegistry swaps in an
equal but new model object, and the reference check then skipped a clamp
that should run. Use modelsAreEqual so the guard agrees with the session.

stepHighestEffort was referenced only by its own test, and its doc comment
("used as the default level for a model") describes the default this
branch removes. Delete it together with that test case.
@ZouR-Ma
ZouR-Ma merged commit 6fd7422 into main Sep 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants